package com.ydd.service;

import com.ydd.dto.ArticlePageDTO;
import com.ydd.dto.LoginAndRegDTO;
import com.ydd.entity.YddUser;
import com.ydd.result.PageResult;
import com.ydd.vo.*;

/**
 * @Description TODO
 * @Author fang
 * @Date 2023-05-29 16:34
 */
public interface UserIndexService {
    /**
     * 前台-基础数据-文章列表数据
     * @param articlePageDTO
     * @return
     */
    IndexArticleListVO list(ArticlePageDTO articlePageDTO);

    /**
     * 前台-基础数据-首页和全局数据
     * @return
     */
    IndexIndexVO index();

    /**
     * 前台-基础数据-推荐文章/最新文章
     * @param type
     * @return
     */
    IndexArticleVO recommendOrHot(String type);

    /**
     * 前台-基础数据-热门置顶文章数据
     * @param articlePageDTO
     * @return
     */
    IndexNewVO newArticle(ArticlePageDTO articlePageDTO);

    /**
     * 前台-基础数据-文章详情数据
     * @param id
     * @return
     */
    IndexShowVO show(Long id);

    /**
     * 用户注册接口
     * @param loginAndRegDTO
     * @return
     */
    YddUser reg(LoginAndRegDTO loginAndRegDTO);
}
